草庐IT

Java Swingworker 和多线程

全部标签

C++ 实现定时器的两种方法(线程定时和时间轮算法修改版)

定时器要求在固定的时间异步执行一个操作,比如boost库中的boost::asio::deadline_timer,以及MFC中的定时器。也可以利用c++11的thread,mutex,condition_variable来实现一个定时器。1、使用C++11中的thread,mutex,condition_variable来实现一个定时器。注:此算法会每一个任务创建一个线程,不推荐。推荐用最下面第2种时间轮算法#include#include#include#include#includeclassTimer{public:Timer():_expired(true),_try_to_expi

java - 唤醒 sleep 线程 - interrupt() 与 "splitting" sleep 进入多个 sleep

此要求出现在我的Android应用程序中,但它通常适用于Java。我的应用程序每隔几秒钟“做某事”。我已经按如下方式实现了这一点(只是相关的fragment-不是完整的代码):fragment1:publicclassPeriodicTask{privatebooleanrunning=true;privateintinterval=5;publicvoidstartTask(){while(running){doSomething();try{Thread.sleep(interval*1000);}catch(InterruptedExceptione){//Handletheex

性能提升,SpringBoot 3.2虚拟线程来了

springboot3.2会提供默认支持,必须Java19+。在以往的项目中,我们面临了这样一种情况:我们收到了数千个认证请求。为了确保安全性,我们依靠第三方系统发送短信OTP进行验证。然而,有时候第三方系统花费的时间比预期的要长,导致延迟。我们采用了每个请求一个线程的模型,这意味着许多线程处于等待状态,并且新请求都在队列中。我们试图通过微调线程数量来优化性能,但当时我们希望有虚拟线程功能。当时Java中没有虚拟线程的概念,这就是ProjectLoom的作用。虚拟线程什么是ProjectLoom?什么是ProjectLoom?这是Oracle的一个新项目,主要目标是显著减少编写、维护和观察高吞

android - 可以从任何线程调用 startServce() 吗?

大多数Android框架组件都不是线程安全的——至少这是我通常使用的假设。但是,从后台线程调用startService()是否安全?我看到DianneHackborn的一篇文章,她说从任何线程调用sendBroadcast()都是安全的,所以我想假设startService()也是如此(http://groups.google.com/group/android-developers/msg/38a09b52de93f70a)。有框架经验的可以评论一下吗?谢谢! 最佳答案 我不知道这个理论,但我相信答案是肯定的,而且很容易尝试。只要

java - Activity 结束后线程会死吗?

如果我启动一个后台线程,如果在线程终止之前从finishes()启动的Activity会发生什么。线程也会终止还是会保持Activity状态?newThread(newRunnable(){publicvoidrun(){while(mProgressStatus>0){//UpdatetheprogressbarmHandler.post(newRunnable(){publicvoidrun(){progressbar.setProgress(mProgressStatus);}});}}}).start(); 最佳答案 线程独

android - 线程与异步任务

这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:DifferencebetweenService,AsyncTask&Thread?我正在下载大约600张图片。我希望此任务在后台运行,哪种方法最适合它。异步还是线程?谁能告诉我一下?

java - Android 上的线程限制?

android有线程限制吗?我在应用程序中创建了很多线程,线程计数在编译时是未知的。我怎样才能获得允许的线程数?我得到:05-1116:24:19.44111131-11194/?E/dalvikvm﹕Threadcreationfailed(err=Invalidargument)05-1116:24:19.46111131-11131/?A/libc﹕Fatalsignal11(SIGSEGV)at0x00000010(code=1),thread11131(id.mykeyboard)处理异常不是一个好主意,因为我必须选择另一种方法来处理它,而方法取决于最大线程限制。

java - 使用 rxjava 和 dagger2 跨线程访问 Realm

我已经阅读了很多关于这个主题的帖子,但对我来说还是有点不清楚。我知道您无法跨不同线程访问Realm类或Realm对象,所以我想知道处理该问题的最佳方法是什么。我有一个启动线程的服务。该线程执行后台工作(包括通过Schedulers.io上的rxjava工作)。现在在某个时候我想将一些数据保存到位于DataManager类中的Realm。最初我使用Dagger2将Realm注入(inject)到我的DataManager类中(它本身被注入(inject)到服务中)。然而,这是行不通的,因为注入(inject)是在主线程上完成的,所以Realm.getDefaultInstance()绑定

解决Tomcat异常:java.lang.IllegalStateException: 非法访问:此Web应用程序实例已停止。无法加载。为了调试以及终止导致非法访问的线程,将抛出以下堆栈跟踪。

调试项目的时候发现每次使用idea重新部署项目时会出现这个错误,但是不影响实际使用,重启服务器第一次部署时也不会出现错误,尝试搜索解决这个问题。解决方法:进入tomcat目录下查找配置文件,conf>Context.xml,查找Context标签,修改属性reloadble为reloadable=“false”(如果没有reloadable属性,就自己创建一个)WEB-INF/web.xmlWEB-INF/tomcat-web.xml${catalina.base}/conf/web.xmlreloadable的功能:如果这个属性设为true,tomcat服务器在运行状态下会监视在WEB-IN

c# 跨线程访问UI控件

    在一个应用程序中,往往存在两种线程:UI线程和工作线程。    UI线程有窗口,创建窗口的控件,且有消息队列对窗口和控件的消息进行管理。主要处理和UI相关的逻辑。    工作线程主要处理和业务相关的比较复杂的逻辑,当处理好之后有可能会调用UI线程中的控 件将结果在UI界面上展现出来。     那么到这里,就出现了跨线程调用UI控件方法的问题。在工作线程中可以直接调用UI上的控件的方法吗?显然不行。代码能编译,在运行时会报错。     怎么解决这个问题呢?     每个控件都有一个属性:InvokeRequired,该属性值为true的场合,表示:调用方是跨线程调用该控件,那么就需要调用